home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The CICA Windows Explosion!
/
The CICA Windows Explosion! - Disc 2.iso
/
pdoxwin
/
pi0994.zip
/
JM0994.EXE
/
UTILTRAC.SC
< prev
Wrap
Text File
|
1994-08-09
|
29KB
|
897 lines
;************************************************************************
; The following Library of procedures are:
;
; Copyrighted (c) 1992-94 Micro-Phyla Systems All Rights Reserved
; Author: John B. Moore
; 5256 South Mission Rd. Suite #110
; Bonsall Calif. 92003
; (619) 631-3085
;
;**************************************************************************
; ============================================================
; 09-06-93
; Creates TracTuner windows
; ------------------------------------------------------------
PROC TracTunerCreateWindows_u()
PRIVATE Procname.a,
attrib_bag,
h
Procname.a = "TracTunerCreateWindows_u"
;- we need three windows: Triggers, Procs, Watch
ECHO OFF
h = SaveWindowHandle_n()
;--update var memory estimate
tr_varmem_a = "Not Available"
; -- reset video
MENU {≡} {Video} {D: EGA/VGA: 80x43/50}
;- setup basic attribs..
DYNARRAY attrib_bag[]
attrib_bag["CANCLOSE"] = FALSE
attrib_bag["CANMAXIMIZE"] = FALSE
attrib_bag["CANRESIZE"] = FALSE
attrib_bag["CANMOVE"] = FALSE
attrib_bag["FLOATING"] = TRUE
attrib_bag["HASSHADOW"] = FALSE
attrib_bag["HASFRAME"] = FALSE
attrib_bag["MAXIMIZED"] = FALSE
attrib_bag["CANVASHEIGHT"] = 200
;- Triggers window
attrib_bag["TITLE"] = "Triggers"
attrib_bag["ORIGINCOL"] = 0
attrib_bag["ORIGINROW"] = 24
attrib_bag["WIDTH"] = 40
attrib_bag["HEIGHT"] = 12
attrib_bag["STYLE"] = 31 ;white on blue
WINDOW CREATE ATTRIBUTES attrib_bag TO g_handle_bag["TRIGGERS"]
PAINTCANVAS ATTRIBUTE 31 ALL
;-- Procs window
attrib_bag["TITLE"] = "Procs"
attrib_bag["ORIGINCOL"] = 40
attrib_bag["ORIGINROW"] = 24
attrib_bag["WIDTH"] = 40
attrib_bag["HEIGHT"] = 12
attrib_bag["STYLE"] = 111 ;white on brown
WINDOW CREATE ATTRIBUTES attrib_bag TO g_handle_bag["PROCS"]
PAINTCANVAS ATTRIBUTE 111 ALL
;--Watch window
attrib_bag["TITLE"] = "Watch"
;--so we can scroll this window
attrib_bag["HASFRAME"] = TRUE
attrib_bag["ORIGINCOL"] = 0
attrib_bag["ORIGINROW"] = 36
attrib_bag["WIDTH"] = 55
attrib_bag["HEIGHT"] = 13
attrib_bag["STYLE"] = 48
WINDOW CREATE ATTRIBUTES attrib_bag TO g_handle_bag["WATCH"]
PAINTCANVAS ATTRIBUTE 48 ALL
;- Memory window
attrib_bag["TITLE"] = "Memory"
attrib_bag["HASFRAME"] = FALSE
attrib_bag["ORIGINCOL"] = 55
attrib_bag["ORIGINROW"] = 36
attrib_bag["WIDTH"] = 25
attrib_bag["HEIGHT"] = 13
attrib_bag["STYLE"] = 32 ;black on green
WINDOW CREATE ATTRIBUTES attrib_bag TO g_handle_bag["MEMORY"]
PAINTCANVAS ATTRIBUTE 32 ALL
;- define dynarrays..
DYNARRAY tr_trigger_bag[]
DYNARRAY tr_procs_bag[]
WINDOW SELECT h
WINDOW SELECT h
ECHO NORMAL
ENDPROC
;("TracTunerCreateWindows_u")
; ============================================================
; 09-06-93
;
; ------------------------------------------------------------
PROC TracTunerDestroyWindows_u()
PRIVATE Procname.a,
h
Procname.a = "TracTunerDestroyWindows_u"
IF ISASSIGNED(g_handle_bag["TRIGGERS"]) AND
ISWINDOW(g_handle_bag["TRIGGERS"]) THEN
ECHO OFF
h = SaveWindowHandle_n()
;- close windows
WINDOW SELECT g_handle_bag["TRIGGERS"]
WINDOW SELECT g_handle_bag["TRIGGERS"]
WINDOW CLOSE
WINDOW SELECT g_handle_bag["PROCS"]
WINDOW SELECT g_handle_bag["PROCS"]
WINDOW CLOSE
WINDOW SELECT g_handle_bag["WATCH"]
WINDOW SELECT g_handle_bag["WATCH"]
WINDOW CLOSE
WINDOW SELECT g_handle_bag["MEMORY"]
WINDOW SELECT g_handle_bag["MEMORY"]
WINDOW CLOSE
;- release vars related to TracTuner
RELEASE VARS g_handle_bag["TRIGGERS"],
g_handle_bag["PROCS"],
g_handle_bag["WATCH"],
g_handle_bag["MEMORY"],
tr_trigger_bag,
tr_procs_bag,
tr_memory_bag,
g_cycle_n,
tr_varmem_a
; -- reset video
MENU {≡} {Video} {C: EGA/VGA: 80x25}
WINDOW SELECT h
WINDOW SELECT h
;- upon shifting back to 80x25 a former max window will only
; take up half the screen
WINMAX
ENDIF
ENDPROC
;("TracTunerDestroyWindows_u")
; ============================================================
; 09-06-93
; Main TracTuner proc
; ------------------------------------------------------------
PROC TracTuner_u(cycle_n,proc_a,trigger_a,type_a,rval_n)
PRIVATE Procname.a,
current_h
Procname.a = "TracTuner_u"
IF ISASSIGNED(TracTuner_l) AND TracTuner_l THEN
IF NOT ISASSIGNED(g_cycle_n) THEN
g_cycle_n = 0
ENDIF
ECHO OFF
current_h = SaveWindowHandle_n()
IF cycle_n <> g_cycle_n OR
NOT ISASSIGNED(tr_trigger_bag) THEN
;--define or reset arrays
DYNARRAY tr_trigger_bag[]
DYNARRAY tr_procs_bag[]
ENDIF
TracTunerRefreshWindows_u(cycle_n,proc_a,trigger_a,type_a,rval_n)
SETCANVAS DEFAULT
STYLE
WINDOW SELECT current_h
WINDOW SELECT current_h
;--update cycle
g_cycle_n = cycle_n
ENDIF
ENDPROC
;("TracTuner_u")
; ============================================================
; 09-06-93
; Sets up or removes TracTuner
; ------------------------------------------------------------
PROC TracTunerSetup_n()
PRIVATE Procname.a
Procname.a = "TracTunerSetup_n"
ECHO OFF
IF ISASSIGNED(TracTuner_l) THEN
;--first
TracTunerDestroyWindows_u()
IF ISFILE("watch.sc") THEN
RUN NOREFRESH "DEL watch.sc >>nul"
ENDIF
;--reposition any floating windows ie.
;WINDOW MOVE g_handle_bag["SPEEDBAR"] TO 23,0
RELEASE VARS TracTuner_l
ELSE
TracTuner_l = true
IF ISFILE("watch.sc") THEN
RUN NOREFRESH "DEL watch.sc >>nul"
ENDIF
TracTunerCreateWindows_u()
;--reposition any floating windows ie.
;WINDOW MOVE g_handle_bag["SPEEDBAR"] TO 23,0
ENDIF
ECHO NORMAL
RETURN 1
ENDPROC
;("TracTunerSetup_n")
; ============================================================
; 09-06-93
;
; ------------------------------------------------------------
PROC TracTunerWatchSetup_n()
PRIVATE Procname.a,
arrayname_a,
d_n,
v_n,
a_n,
tr_array_bag,
tr_dynarray_bag,
tr_vars_bag,
dyna_a,
array_a,
vars_a,
buttonval_v,
size_n,
n,
count_n,
el,
elem,
avar_a,
z,
val,
var,
size_a
Procname.a = "TracTunerWatchSetup_n"
IF NOT ISASSIGNED(TracTuner_l) THEN
BEEP BEEP RETURN 1
ENDIF
ECHO OFF
QuickMsg_u("Loading watch setup...")
SaveWorspace_u()
IF SYSMODE() = "CoEdit" THEN DO_IT! ENDIF
IF ISFILE("savevars.sc") THEN
RUN NOREFRESH "RENAME SAVEVARS.SC SAVEVARS.OLD >nul"
ENDIF
SAVEVARS ALL
;--make sure it is written to disk and file is closed
z = FILESIZE("savevars.sc")
;--- import this into a table
MENU "TEIAT" SELECT "savevars.sc"
SELECT "savevars"
IF MENUCHOICE() = "Cancel" THEN SELECT "Replace" ENDIF
;--update var memory estimate
tr_varmem_a = STRVAL(NRECORDS("savevars"))
IF UPPER(TABLE()) = "SAVEVARS" THEN CLEARIMAGE ENDIF
DYNARRAY tr_array_bag[]
DYNARRAY tr_dynarray_bag[]
DYNARRAY tr_vars_bag[]
d_n = 0
a_n = 0
v_n = 0
VIEW "savevars"
MOVETO [Text]
SCAN
SWITCH
CASE MATCH([],"Dynarray tr_..[]") : LOOP
CASE MATCH([],"Dynarray ..[]",arrayname_a) :
;--grab the name
d_n = d_n + 1
tr_dynarray_bag[STRVAL(d_n)] = arrayname_a+
FILL(" ",32-LEN(arrayname_a))
CASE MATCH([],"Array ..[..]",arrayname_a,size_a) :
;--grab the name
a_n = a_n + 1
tr_array_bag[STRVAL(a_n)] = arrayname_a+
FILL(" ",32-LEN(arrayname_a))
CASE ISBLANK([]): LOOP
CASE MATCH([],"..].."): LOOP ;array name
CASE MATCH([],";.."): LOOP ;comment
CASE MATCH([],"..=..",var ,val ):
v_n = v_n + 1
tr_vars_bag[STRVAL(v_n)] = var+FILL(" ",32-LEN(var))
OTHERWISE:
v_n = v_n + 1
tr_vars_bag[STRVAL(v_n)] = []+FILL(" ",32-LEN([]))
ENDSWITCH
ENDSCAN
CLEARIMAGE
QuickMsg_u("")
; PaintPAL_Generated_Code_Begin(455505211)
SHOWDIALOG "TracTuner Watch Setup"
PROC "TracTunerWatchSetupProc_l"
KEY 32
@2,1 HEIGHT 33 WIDTH 77
PICKDYNARRAY @2,1 HEIGHT 13 WIDTH 35
tr_dynarray_bag
TAG "dyna"
TO dyna_a
LABEL @1,13
"DYNARRAYS"
FOR "dyna"
PICKDYNARRAY @2,38 HEIGHT 13 WIDTH 35
tr_array_bag
TAG "array"
TO array_a
LABEL @1,53
"ARRAYS"
FOR "array"
PICKDYNARRAY @17,1 HEIGHT 13 WIDTH 35
tr_vars_bag
TAG "vars"
TO vars_a
LABEL @16,12
"VARIABLES"
FOR "vars"
PUSHBUTTON @19,50 WIDTH 15
"Watch"
OK
VALUE "watch"
TAG "watch"
TO buttonval_v
PUSHBUTTON @25,50 WIDTH 15
"Cancel"
CANCEL
DEFAULT
VALUE "cancel"
TAG "cancel"
TO buttonval_v
ENDDIALOG
; PaintPAL_Generated_Code_End(455505211)
IF retval THEN
QuickMsg_u("Loading watch vars...")
;--open new file
FILEWRITE "WATCH.SC" FROM "; Watch window script"+"\n\n\n"+
"IF NOT ISASSIGNED(print_l) THEN \n"+
" print_l = false \n"+
"ENDIF \n\n"
;grab all checked values an create a script that will update
;all the vars
count_n = 0
IF ISASSIGNED(tr_array_bag["1"]) THEN
FOREACH el IN tr_array_bag
IF MATCH(tr_array_bag[el],"..√",avar_a) THEN
WHILE MATCH(avar_a,".. ",avar_a) ENDWHILE
FILEWRITE APPEND "WATCH.SC" FROM
"size_n = ARRAYSIZE("+avar_a+") \n" +
"FOR n FROM 1 TO size_n \n"+
" IF ISASSIGNED("+avar_a+"[n]) THEN \n"+
" IF print_l THEN \n"+
" PRINT \""+avar_a+"[\"+STRVAL(n)+\"] = \"+STRVAL("+avar_a+"[n])+\"\\n\" \n" +
" ELSE \n"+
" ? \""+avar_a+"[\"+STRVAL(n)+\"] = \"+STRVAL("+avar_a+"[n]) \n" +
" ENDIF \n"+
" ELSE \n"+
" IF print_l THEN \n"+
" PRINT \""+avar_a+"[\"+STRVAL(n)+\"] = [VAR UNASSIGNED]\\n\" \n" +
" ELSE \n"+
" ? \""+avar_a+"[\"+STRVAL(n)+\"] = [VAR UNASSIGNED]\" \n" +
" ENDIF \n"+
" ENDIF \n"+
"ENDFOR \n\n"
ENDIF
ENDFOREACH
ENDIF
IF ISASSIGNED(tr_dynarray_bag["1"]) THEN
FOREACH el IN tr_dynarray_bag
IF MATCH(tr_dynarray_bag[el],"..√",avar_a) THEN
WHILE MATCH(avar_a,".. ",avar_a) ENDWHILE
FILEWRITE APPEND "WATCH.SC" FROM
"FOREACH elem IN "+avar_a+" \n"+
" IF ISASSIGNED("+avar_a+"[elem]) THEN \n"+
" IF print_l THEN \n"+
" PRINT \""+avar_a+"[\"+elem+\"] = \"+STRVAL("+avar_a+"[elem])+\"\\n\" \n" +
" ELSE \n"+
" ? \""+avar_a+"[\"+elem+\"] = \"+STRVAL("+avar_a+"[elem]) \n" +
" ENDIF \n"+
" ELSE \n"+
" IF print_l THEN \n"+
" PRINT \""+avar_a+"[\"+elem+\"] = [VAR UNASSIGNED] \\n\" \n" +
" ELSE \n"+
" ? \""+avar_a+"[\"+elem+\"] = [VAR UNASSIGNED]\" \n" +
" ENDIF \n"+
" ENDIF \n"+
"ENDFOREACH \n\n"
ENDIF
ENDFOREACH
ENDIF
IF ISASSIGNED(tr_vars_bag["1"]) THEN
FOREACH el IN tr_vars_bag
IF MATCH(tr_vars_bag[el],"..√",avar_a) THEN
WHILE MATCH(avar_a,".. ",avar_a) ENDWHILE
FILEWRITE APPEND "WATCH.SC" FROM
"IF ISASSIGNED("+avar_a+") THEN \n"+
" IF print_l THEN \n"+
" PRINT \""+avar_a+" = \"+STRVAL("+avar_a+")+\"\\n\" \n" +
" ELSE \n"+
" ? \""+avar_a+" = \"+STRVAL("+avar_a+") \n" +
" ENDIF \n"+
"ELSE \n"+
" IF print_l THEN \n"+
" PRINT \""+avar_a+" = [VAR UNASSIGNED] \\n\" \n" +
" ELSE \n"+
" ? \""+avar_a+" = [VAR UNASSIGNED]\" \n" +
" ENDIF \n"+
"ENDIF \n\n"
ENDIF
ENDFOREACH
ENDIF
;--make sure file is closed
z = FILESIZE("watch.sc")
QuickMsg_u("")
ENDIF
IF ISFILE("savevars.old") THEN
RUN NOREFRESH "RENAME SAVEVARS.OLD SAVEVARS.SC >nul"
ENDIF
RestoreWorkspace_u()
RETURN 1
ENDPROC
;("TracTunerWatchSetup_N")
; ============================================================
; 09-06-93
;
; ------------------------------------------------------------
PROC TracTunerWatchSetupProc_l(trigger_a,tag_a,event_v,element_a)
PRIVATE Procname.a,
v
Procname.a = "TracTunerWatchSetupProc_l"
SWITCH
CASE trigger_a = "EVENT" AND tag_a = "dyna" AND
ISASSIGNED(event_v["KEYCODE"]) AND
event_v["KEYCODE"] = 32:
IF MATCH(tr_dynarray_bag[dyna_a],"..√",v) THEN
tr_dynarray_bag[dyna_a] = v
ELSE
tr_dynarray_bag[dyna_a] = SUBSTR(tr_dynarray_bag[dyna_a],1,32)+CHR(251)
ENDIF
REFRESHCONTROL "dyna"
RETURN false
CASE trigger_a = "EVENT" AND tag_a = "array" AND
ISASSIGNED(event_v["KEYCODE"]) AND
event_v["KEYCODE"] = 32:
IF MATCH(tr_array_bag[array_a],"..√",v) THEN
tr_array_bag[array_a] = v
ELSE
tr_array_bag[array_a] = SUBSTR(tr_array_bag[array_a],1,32)+CHR(251)
ENDIF
REFRESHCONTROL "array"
RETURN false
CASE trigger_a = "EVENT" AND tag_a = "vars" AND
ISASSIGNED(event_v["KEYCODE"]) AND
event_v["KEYCODE"] = 32:
IF MATCH(tr_vars_bag[vars_a],"..√",v) THEN
tr_vars_bag[vars_a] = v
ELSE
tr_vars_bag[vars_a] = SUBSTR(tr_vars_bag[vars_a],1,32)+CHR(251)
ENDIF
REFRESHCONTROL "vars"
RETURN false
ENDSWITCH
RETURN true
ENDPROC
;("TracTunerWatchSetupProc_l")
; ============================================================
; 09-07-93
; Writes to windows if info is present
; ------------------------------------------------------------
PROC TracTunerRefreshWindows_u(cycle_n,proc_a,trigger_a,type_a,rval_n)
;type_a: "D" = default "C" = coherced
;proc_a: ""= no proc executed
;rval_n: current retval
PRIVATE Procname.a,
el,
n,
count_n,
basetrigger_a,
abrtrigger_a,
h,
var_a,
rnew_a,
rmod_a,
rlck_a,
w_r,
winnum_a
Procname.a = "TracTunerRefreshWindows_u"
h = SaveWindowHandle_n()
;--triggers
basetrigger_a = trigger_a
abrtrigger_a = TracTunerAbrTrigger_a(trigger_a)
SETCANVAS g_handle_bag["TRIGGERS"]
STYLE ATTRIBUTE 31
IF g_cycle_n <> cycle_n THEN
CLEAR
PAINTCANVAS ATTRIBUTE 31 ALL
WINDOW SELECT g_handle_bag["TRIGGERS"]
WINDOW SCROLL g_handle_bag["TRIGGERS"] TO 0,0
SETMARGIN OFF
STYLE ATTRIBUTE 14
@0,0 ?? FORMAT("W40,AC","* * TRIGGERS * *")
@2,0
STYLE ATTRIBUTE 31
ENDIF
SETMARGIN 3
count_n = DYNARRAYSIZE(tr_trigger_bag)
IF type_a = "C" THEN
trigger_a = LOWER(trigger_a)
ENDIF
IF NOT ISBLANK(proc_a) THEN
trigger_a = CHR(251)+trigger_a
ELSE
trigger_a = " "+trigger_a
ENDIF
;- place on screen
? STRVAL(count_n+1)+"-"+trigger_a
;--update cycle history
tr_trigger_bag[count_n+1] = trigger_a
;--procs
SETCANVAS g_handle_bag["PROCS"]
STYLE ATTRIBUTE 111
IF g_cycle_n <> cyclenumber_n THEN
CLEAR
PAINTCANVAS ATTRIBUTE 111 ALL
WINDOW SELECT g_handle_bag["PROCS"]
WINDOW SCROLL g_handle_bag["PROCS"] TO 0,0
SETMARGIN OFF
STYLE ATTRIBUTE 14
@0,0 ?? FORMAT("W40,AC","* * PROCEDURES TRIGGERED * *")
@2,0
STYLE ATTRIBUTE 111
ENDIF
SETMARGIN 3
count_n = DYNARRAYSIZE(tr_procs_bag)
proc_a = abrtrigger_a+proc_a+" = "+STRVAL(rval_n)
;- place on screen
? proc_a
;--update cycle history
tr_procs_bag[count_n+1] = proc_a
;- watch vars
IF ISFILE("watch.sc") AND
(basetrigger_a = "ARRIVEFIELD" OR
rval_n = 1) THEN
SETCANVAS g_handle_bag["WATCH"]
STYLE ATTRIBUTE 48
CLEAR
PAINTCANVAS ATTRIBUTE 48 ALL
WINDOW SELECT g_handle_bag["WATCH"]
WINDOW SCROLL g_handle_bag["WATCH"] TO 0,0
@0,0
SETMARGIN 1
PLAY "watch"
ENDIF
;-- memory status
IF g_cycle_n <> cyclenumber_n OR
g_cycle_n <> cyclenumber_n OR
basetrigger_a = "ARRIVEFIELD" OR
rval_n = 1 THEN
IF RECORDSTATUS("New") THEN
rnew_a = "TRUE"
ELSE
rnew_a = "FALSE"
ENDIF
IF RECORDSTATUS("Modified") THEN
rmod_a = "TRUE"
ELSE
rmod_a = "FALSE"
ENDIF
IF RECORDSTATUS("Locked") THEN
rlck_a = "TRUE"
ELSE
rlck_a = "FALSE"
ENDIF
WINDOW LIST TO w_r
winnum_a = STRVAL(ARRAYSIZE(w_r))
SETCANVAS g_handle_bag["MEMORY"]
STYLE ATTRIBUTE 32
CLEAR
PAINTCANVAS ATTRIBUTE 32 ALL
WINDOW SELECT g_handle_bag["MEMORY"]
WINDOW SCROLL g_handle_bag["MEMORY"] TO 0,0
SETMARGIN OFF
STYLE ATTRIBUTE 14
@0,0 ?? FORMAT("W25,AC","* * INFO STATUS * *")
@1,0
STYLE ATTRIBUTE 32
SETMARGIN 1
? "MEMLEFT() = "+STRVAL(memleft())
? "RMEMLEFT() = "+STRVAL(rmemleft())
? "RSTATUS-NEW = "+rnew_a
? "RSTATUS-MOD = "+rmod_a
? "RSTATUS-LCK = "+rlck_a
? "LINKTYPE = "+LINKTYPE()
? "TABLE = "+TABLE()
? "VAR-MEM = "+tr_varmem_a
? "#IMAGES = "+STRVAL(NIMAGES())
? "#WINDOWS = "+winnum_a
ENDIF
WINDOW SELECT h
WINDOW SELECT h
ENDPROC
;("TracTunerRefreshWindows_u")
; ============================================================
; 09-07-93
;
; ------------------------------------------------------------
PROC TracTunerPrint_n()
PRIVATE Procname.a,
count_n,
n,
rnew_a,
rmod_a,
rlck_a
Procname.a = "TracTunerPrint_n"
OPEN PRINTER
PRINT FORMAT("W80,AC","* * * T R A C K E R * * *"),"\n\n",
FILL("=",80),"\n\n\n"
IF ISASSIGNED(tr_trigger_bag["1"]) THEN
count_n = DYNARRAYSIZE(tr_trigger_bag)
PRINT "TRIGGERS","\n",
"============"+"\n"
FOR n FROM 1 TO count_n
PRINT SPACES(5),tr_trigger_bag[n],"\n"
ENDFOR
PRINT "\n\n"
ENDIF
IF ISASSIGNED(tr_procs_bag["1"]) THEN
count_n = DYNARRAYSIZE(tr_procs_bag)
PRINT "PROCEDURES EXECUTED","\n",
"===================="+"\n"
FOR n FROM 1 TO count_n
PRINT SPACES(5),tr_procs_bag[n],"\n"
ENDFOR
PRINT "\n\n"
ENDIF
IF ISFILE("watch.sc") THEN
PRINT "WATCH VARIABLES","\n",
"===================="+"\n"
print_l = true
PLAY "watch"
print_l = false
PRINT "\n\n"
ENDIF
IF RECORDSTATUS("New") THEN
rnew_a = "TRUE"
ELSE
rnew_a = "FALSE"
ENDIF
IF RECORDSTATUS("Modified") THEN
rmod_a = "TRUE"
ELSE
rmod_a = "FALSE"
ENDIF
IF RECORDSTATUS("Locked") THEN
rlck_a = "TRUE"
ELSE
rlck_a = "FALSE"
ENDIF
PRINT "INFO STATUS","\n",
"===================="+"\n"
PRINT " MEMLEFT() = "+STRVAL(memleft())+"\n"+
"RMEMLEFT() = "+STRVAL(rmemleft())+"\n"+
"RSTATUS-NEW = "+rnew_a+"\n"+
"RSTATUS-MOD = "+rmod_a+"\n"+
"RSTATUS-LCK = "+rlck_a+"\n"+
"LINKTYPE = "+LINKTYPE()+"\n"+
"VAR-MEM = "+tr_varmem_a+"\n"+
"TABLE = "+TABLE()+"\n"
PRINT "\f"
CLOSE PRINTER
RETURN 1
ENDPROC
;("TracTunerPrint_n")
; ============================================================
; 09-07-93
; returns abreviation of trigger
; ------------------------------------------------------------
PROC TracTunerAbrTrigger_a(eventype_a)
PRIVATE Procname.a
Procname.a = "TracTunerAbrTrigger_a"
SWITCH
CASE eventype_a = "VALCHECK" :RETURN "VC-"
CASE eventype_a = "DEPARTFIELD" :RETURN "DF-"
CASE eventype_a = "DEPARTROW" :RETURN "DR-"
CASE eventype_a = "POSTRECORD" :RETURN "PR-"
CASE eventype_a = "DEPARTABLE" :RETURN "DT-"
CASE eventype_a = "DEPARTPAGE" :RETURN "DP-"
CASE eventype_a = "ARRIVEPAGE" :RETURN "AP-"
CASE eventype_a = "ARRIVEWINDOW":RETURN "AW-"
CASE eventype_a = "ARRIVETABLE" :RETURN "AT-"
CASE eventype_a = "ARRIVEROW" :RETURN "AR-"
CASE eventype_a = "ARRIVEFIELD" :RETURN "AF-"
;--added 4.5 triggers
CASE eventype_a = "INSRECORD" :RETURN "IR-"
CASE eventype_a = "DELRECORD" :RETURN "DL-"
CASE eventype_a = "TOUCHFIELD" :RETURN "TF-"
CASE eventype_a = "ENDFIELDVIEW" :RETURN "EF-"
CASE eventype_a = "FIELDVIEW" :RETURN "FV-"
CASE eventype_a = "LOOKUP" :RETURN "LK-"
CASE eventype_a = "MENU" :RETURN "MU-"
CASE eventype_a = "UNDOCHANGE" :RETURN "UC-"
CASE eventype_a = "UNDODEL" :RETURN "UD-"
CASE eventype_a = "UNDOINS" :RETURN "UI-"
CASE eventype_a = "UNDOUNPOST" :RETURN "UP-"
CASE eventype_a = "CLOSE" :RETURN "CL-"
CASE eventype_a = "DONE" :RETURN "DN-"
CASE eventype_a = "OPEN" :RETURN "OP-"
CASE eventype_a = "FLYAWAY" :RETURN "FA-"
CASE eventype_a = "RECORDDELETED" :RETURN "RD-"
CASE eventype_a = "RECORDCHANGED" :RETURN "RC-"
CASE eventype_a = "ENDCYCLE" :RETURN "EC-"
CASE eventype_a = "REFRESH" :RETURN "RF-"
OTHERWISE : RETURN "NA-"
ENDSWITCH
ENDPROC
;("TracTunerAbrTrigger_a")
;==============================================================
; Last compiled: 9/07/93
;
;--------------------------------------------------------------
PROC TRACMenudef_n()
PRIVATE Procname_a
Procname_a = "TRACMenudef_n"
SHOWPOPUP " TracTuner System " CENTERED
"~S~tart TracTuner":"Start TracTuner System":"start",
"~C~lose TracTuner":"Close TracTuner System":"close",
"~W~atch Setup" :"Setup Watch vars":"watch",
"~V~ars Status" :"Current Savevars":"save",
"Win~d~ow Status Short":"Current Window Status printout, short version":"wins",
"Window Status ~L~ong":"Current Window Status printout, long version":"winl",
"~P~rint TracTuner Values":"Print the current TracTuner values":"print",
"~Q~uit TracTuner Menu":"Close TracTuner menu":"quit"
ENDMENU TO choice_a
SWITCH
CASE choice_a = "watch" :
TracTunerWatchSetup_n()
CASE choice_a = "quit" :
RETURN 1
CASE choice_a = "print" :
TracTunerPrint_n()
CASE choice_a = "close" :
TracTunerSetup_n()
CASE choice_a = "start" :
TracTunerSetup_n()
CASE choice_a = "save" :
TracTunerSaveVarList_n()
CASE choice_a = "wins" :
DebugWin_u()
CASE choice_a = "winl" :
DebugWindowInfo_u("TracTunner")
ENDSWITCH
RETURN 1
ENDPROC
;("TRACMenudef_n")
; ============================================================
; 09-07-93
; Mini Wait on Watch window
; ------------------------------------------------------------
PROC TracTunerWatchWait_n()
PRIVATE Procname.a,
trac_bag,
h
Procname.a = "TracTunerWatchWait_n"
h = GETWINDOW()
WINDOW SELECT g_handle_bag["WATCH"]
WINDOW SELECT g_handle_bag["WATCH"]
ECHO NORMAL
WHILE TRUE
GETEVENT MOUSE "ALL" TO trac_bag
SWITCH
CASE trac_bag["TYPE"] = "MOUSE" :
IF WINDOWAT(trac_bag["ROW"],trac_bag["COL"]) =
g_handle_bag["WATCH"] THEN
EXECEVENT trac_bag
LOOP
ELSE
QUITLOOP
ENDIF
OTHERWISE: BEEP BEEP LOOP
ENDSWITCH
ENDWHILE
WINDOW SELECT h
WINDOW SELECT h
RETURN 1
ENDPROC
;("TracTunerWatchWait_n")
; ============================================================
; 09-10-93
; Complete variable list
; ------------------------------------------------------------
PROC TracTunerSaveVarList_n()
PRIVATE Procname.a,
tr_savevar_bag,
v_n,
save_a,
buttonval_v
Procname.a = "TracTunerSaveVarList_n"
IF NOT ISASSIGNED(TracTuner_l) THEN
BEEP BEEP RETURN 1
ENDIF
ECHO OFF
QuickMsg_u("Loading Savevar setup...")
SaveWorspace_u()
IF SYSMODE() = "CoEdit" THEN DO_IT! ENDIF
IF ISFILE("savevars.sc") THEN
RUN NOREFRESH "RENAME SAVEVARS.SC SAVEVARS.OLD >nul"
ENDIF
SAVEVARS ALL
;--make sure it is written to disk and file is closed
z = FILESIZE("savevars.sc")
;--- import this into a table
MENU "TEIAT" SELECT "savevars.sc"
SELECT "savevars"
IF MENUCHOICE() = "Cancel" THEN SELECT "Replace" ENDIF
;--update var memory estimate
tr_varmem_a = STRVAL(NRECORDS("savevars"))
DYNARRAY tr_savevar_bag[]
v_n = 0
IF UPPER(TABLE()) <> "SAVEVARS" THEN
VIEW "savevars"
ENDIF
MOVETO [Text]
SCAN
SWITCH
CASE MATCH([],"Dynarray tr_..[]") : LOOP
CASE MATCH([],"Dynarray tr_..[..]..") : LOOP
CASE MATCH([],";.."): LOOP ;comment
CASE ISBLANK([]): LOOP ;blank
OTHERWISE:
v_n = v_n + 1
tr_savevar_bag[STRVAL(v_n)] = []
ENDSWITCH
ENDSCAN
CLEARIMAGE
QuickMsg_u("")
; PaintPAL_Generated_Code_Begin(455766953)
SHOWDIALOG "Savevars"
@2,2 HEIGHT 46 WIDTH 75
; PaintPAL_Frame_Begin
FRAME DOUBLE FROM 0,1 TO 40,71
PAINTCANVAS ATTRIBUTE 127 0,1,0,71
PAINTCANVAS ATTRIBUTE 112 40,1,40,71
PAINTCANVAS ATTRIBUTE 127 0,1,40,1
PAINTCANVAS ATTRIBUTE 112 0,71,40,71
; PaintPAL_Frame_End
PICKDYNARRAY @1,2 HEIGHT 39 WIDTH 68
tr_savevar_bag
TAG "save"
TO save_a
PUSHBUTTON @42,29 WIDTH 15
"Return"
CANCEL
VALUE "return"
TAG "return"
TO buttonval_v
ENDDIALOG
; PaintPAL_Generated_Code_End(455766953)
IF ISFILE("savevars.old") THEN
RUN NOREFRESH "RENAME SAVEVARS.OLD SAVEVARS.SC >nul"
ENDIF
RestoreWorkspace_u()
RETURN 1
ENDPROC
;("TracTunerSaveVarList_n")